import axios from "axios";
import store from "@/store"
import router from "@/router"

import { Message } from 'element-ui';
// import { getToken } from "@/utils/storage";

const request = axios.create({
    // 基地址
    baseURL: "http://www.itcbc.com:8000",
    // 超时时间
    timeout: 5000,
});


// 添加请求拦截器
request.interceptors.request.use(
    function (config) {
        //在发送请求之前进行操作
        const token = store.state.user.token;
        if (token) {
            config.headers.Authorization = token;
        }
        return config;
    },
    function (error) {
        // 对请求错误进行操作
        return Promise.reject(error);
    }
);

// 添加响应拦截器
request.interceptors.response.use(
    function (response) {
        // 对响应数据进行操作
        if (response.data.code === 1) {
            Message.error(response.data.message)
            return Promise.reject(response.data.message);
        }
        return response;
    },
    function (error) {
        // 对响应错误进行操作
        // console.log(error.response.data.message);
        console.dir(error);
        if (error.response.data.code === 1){
            store.dispatch('user/logout')
            router.push('/login')
        }
        Message.error(error.response.data.message)
        return Promise.reject(error);
    }
);

export default request;